from flask import session,g
from info.models import User
from functools import wraps

# 封装登录装饰器: 如果用户登录过直接封装用户的数据
def user_login_data(view_func):
    @wraps(view_func)
    def wrapper(*args,**kwargs):
        # 1,获取session中的用户信息
        user_id = session.get("user_id")

        # 2,根据user_id获取用户对象
        user = None
        if user_id:
            user = User.query.get(user_id)

        # 3,给g对象添加一个user属性,赋值用户数据
        g.user = user

        # 4,调用功能函数
        return view_func(*args,**kwargs)

    return wrapper